User interfaces are typically permanently programmed parts of an application that frequently have a specific form which differentiates the user interface of an application from the user interface of the underlying operating system. The user interfaces generally include a multiplicity of user interface components. The interface components may be operating elements such as command buttons or input fields. The behavior of the user interface components in the application-specific user interface can differ from the behavior and appearance of comparable operating elements of the operating system.
Nowadays the appearance of a user interface can be globally changed with the aid of drawing subroutines inserted at a central point in the operating system. All drawing actions are intercepted at a global point in the system and redirected to different drawing subroutines. Since this takes place at a central point in the operating system, there is the risk of instability on the one hand and the loss of performance on the other hand, since all drawing actions are now executed by the central drawing subroutines. In addition, compatibility problems may arise if the central drawing programs are used by different vendors for different purposes.
Current operating systems furthermore offer the option of switching over between different rendering styles. The different rendering styles are referred to as ‘themes’ or ‘visual styles’ in the Windows XP operating system for example. Said rendering styles differ with respect to the representation of certain features of a window system. For instance, the corners of a window may have round or angled corners, and the window frames may have different colors.
In order to be able to use the different rendering style options offered in an application, special programming interfaces must be used when developing the application. One disadvantage emerges from the availability of the specification of the different rendering styles. Since these are not openly accessible, the interfaces cannot be used without risk to create a custom new representation of a user interface which differs from the one supplied with the operating system.
A further disadvantage arises from the fact that such a rendering style can only be set globally. As a consequence, it is not possible to use different rendering styles for different monitors which are connected to one computing unit and are managed by one operating system. In the case of medical devices which frequently include both color and grayscale screens, however, the different rendering styles offered by the operating system are usually not suitable for operating both the color and the grayscale screens on one computing unit with a uniform rendering style.
Since the changes to the rendering styles also have a global effect, it is not possible to give individual applications an individual appearance by changing the global rendering style.
Moreover, when an application is updated, for example when the platform is changed, it is often desirable to change or at least modernize the appearance of the user interface. Such a modernization need not be for technical reasons, it may also serve to prevent monotony for customers. Owing to the concomitant costs, such a modernization is typically not performed for all parts of an existing application, but only the new parts of the application to be developed are developed in accordance with the new rendering style.
When implementing individual user interface components, it is also desirable to be independent of suppliers. Particularly in the case where bought-in solutions are used for individual user interface components, it is safer not to be dependent on one vendor.